.NET: Add Foundry Memory Context Provider#3522
Merged
rogerbarreto merged 19 commits intomicrosoft:mainfrom Feb 20, 2026
Merged
Conversation
…nsureStoredMemoriesDeletedAsync
…eation - Remove IFoundryMemoryOperations interface (was only for test mocking) - Remove AIProjectClientMemoryOperations wrapper class - Provider now directly uses AIProjectClient with internal extension methods - Extension methods return actual response models instead of extracted values - Remove WaitForUpdateCompletionAsync from provider (sample uses delay) - Simplify EnsureMemoryStoreCreatedAsync to return Task instead of Task<bool> - Add memory store creation with chat_model and embedding_model - Add UpdateMemoriesResponse with SupersededBy and Error fields - Simplify unit tests to focus on constructor validation and serialization - Update sample to use simple delay for memory processing wait
- Move memoryStoreName from options to required constructor parameter - Make FoundryMemoryProviderScope require non-null/whitespace scope in constructor - Make Scope property read-only (getter only) - Replace ConcurrentQueue with single last update ID to fix memory leak - Only clear pending update ID after successful completion - Add delete success logging - Mark FoundryMemoryProvider with [Experimental] attribute - Update unit tests for new API signatures Co-authored-by: Copilot <[email protected]>
westey-m
reviewed
Feb 19, 2026
dotnet/src/Microsoft.Agents.AI.FoundryMemory/FoundryMemoryProviderScope.cs
Outdated
Show resolved
Hide resolved
westey-m
reviewed
Feb 19, 2026
dotnet/src/Microsoft.Agents.AI.FoundryMemory/FoundryMemoryProvider.cs
Outdated
Show resolved
Hide resolved
westey-m
approved these changes
Feb 19, 2026
Co-authored-by: Copilot <[email protected]>
westey-m
approved these changes
Feb 19, 2026
westey-m
approved these changes
Feb 20, 2026
This was referenced Feb 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3673
Motivation and Context
Add Azure AI Foundry Memory Context Provider
Introduces
Microsoft.Agents.AI.FoundryMemory, a new context provider package that enables agents to storeand retrieve long-term memories using Azure AI Foundry's managed memory service. The provider
automatically extracts memories from conversations and retrieves relevant memories to augment agent
context on each invocation, following the same pattern established by the Mem0 provider.
Features
FoundryMemoryProviderimplementingAIContextProviderwith automatic memory extraction and retrievalProvideAIContextAsyncandStoreAIContextAsyncfollowing the updatedAIContextProviderbase class patternProviderSessionState<State>for automatic session state management (same pattern asMem0Provider)FoundryMemoryProviderScopeEnsureMemoryStoreCreatedAsync()to create memory stores with specified chat and embedding modelsEnsureStoredMemoriesDeletedAsync()to clear memories for a scopeWhenUpdatesCompletedAsync()to poll pending memory updates in parallel until completionFoundryMemoryProviderOptions) for max memories, update delay, context prompt, state key, and message filtersAgentWithMemory_Step04_MemoryUsingFoundry) demonstrating end-to-end usage with session serializationContribution Checklist
[BREAKING]prefix to the title of the PR.